package com.pro01.tracker.mapper;

import com.pro01.tracker.pojo.TorrentPeer;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface TorrentPeerMapper {
    TorrentPeer selectByTorrentIdAndPeerId(@Param("torrentId") Long torrentId, @Param("peerId") String peerId);

    int insertPeer(TorrentPeer peer);

    int updatePeer(TorrentPeer peer);

    int deleteByTorrentIdAndPeerId(@Param("torrentId") Long torrentId, @Param("peerId") String peerId);

    // ✅ 新增方法：查询某个种子下的所有 peers（用来返回 compact 列表）
    @Select("SELECT ip, port FROM torrent_peers WHERE torrent_id = #{torrentId}")
    List<TorrentPeer> selectPeersByTorrentId(@Param("torrentId") Long torrentId);
}
